vinyl-view
Extends vinyl with render and compile methods, and properties used for rendering templates.
Install
Install with npm:
$ npm install --save vinyl-view
Usage
Use the same way you would use a vinyl file:
var View = require('vinyl-view');
var view = new View({path: 'foo'});
API
Create an instance of View
. Optionally pass a default object to use.
Example
var view = new View({
path: 'foo.html',
contents: new Buffer('...')
});
Params
Synchronously compile a view.
Example
var view = page.compile();
view.fn({title: 'A'});
view.fn({title: 'B'});
view.fn({title: 'C'});
Params
locals
{Object}: Optionally pass locals to the engine.returns
{Object} View
: instance, for chaining.
Synchronously render templates in view.content
.
Example
var view = new View({content: 'This is <%= title %>'});
view.renderSync({title: 'Home'});
console.log(view.content);
Params
locals
{Object}: Optionally pass locals to the engine.returns
{Object} View
: instance, for chaining.
Asynchronously render templates in view.content
.
Example
view.render({title: 'Home'}, function(err, res) {
});
Params
locals
{Object}: Context to use for rendering templates.
Create a context object from locals
and the view.data
and view.locals
objects. The view.data
property is typically created from front-matter, and view.locals
is used when a new View()
is created.
This method be overridden either by defining a custom view.options.context
function
to customize context for a view instance, or static View.context function to customize
context for all view instances.
Example
var page = new View({path: 'a/b/c.txt', locals: {a: 'b', c: 'd'}});
var ctx = page.context({a: 'z'});
console.log(ctx);
Params
locals
{Object}: Optionally pass a locals object to merge onto the context.returns
{Object}: Returns the context object.
Returns true if the view is the given viewType
. Returns false
if no type is assigned. When used with vinyl-collections, types are assigned by their respective collections.
Example
var view = new View({path: 'a/b/c.txt', viewType: 'partial'})
view.isType('partial');
Params
type
{String}: (renderable
, partial
, layout
)
Define a custom static View.context
function to override default .context
behavior. See the context docs for more info.
Example
View.context = function(locals) {
return locals;
};
Params
locals
{Object}returns
{Object}
About
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Jon Schlinkert
License
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
This file was generated by verb-generate-readme, v0.2.0, on December 28, 2016.